import { IExtensionSingleActivationService } from "./types";
import { IServiceManager } from "../ioc/types";
import { ExtensionActivationManager } from "./activationManager";
import { ExtensionSurveyPrompt } from "./extensionSurvey";
import { PartialModeStatusItem } from "./partialModeStatus";
import { IExtensionActivationManager, IExtensionActivationService } from "./types";

export function registerTypes(serviceManager: IServiceManager): void {

    serviceManager.addSingleton<IExtensionActivationService>(IExtensionActivationService, PartialModeStatusItem);
    serviceManager.add<IExtensionActivationManager>(IExtensionActivationManager, ExtensionActivationManager);
    serviceManager.addSingleton<IExtensionSingleActivationService>(
        IExtensionSingleActivationService,
        ExtensionSurveyPrompt,
    );
}